﻿using System;

namespace FNN.EventArguments
{
    /// <summary>
    /// Аргументы события смены итерации
    /// </summary>
    public class IterationChangedEventArgs : EventArgs
    {
        /// <summary>
        /// Номер итерации
        /// </summary>
        protected int IterationNumberValue;
        
        /// <summary>
        /// Результат итерации 
        /// </summary>
        protected double IterationResultValue;

        /// <summary>
        /// Номер итерации
        /// </summary>
        public int IterationNumber
        {
            get
            {
                return IterationNumberValue;
            }

            set
            {
                IterationNumberValue = value;
            }
        }

        /// <summary>
        /// Результат итерации
        /// </summary>
        public double IterationResult
        {
            get
            {
                return IterationResultValue;
            }

            set
            {
                IterationResultValue = value;
            }
        }

        /// <summary>
        /// Параметризированный конструктор
        /// </summary>
        /// <param name="iterationNumber">Номер итерации</param>
        /// <param name="iterationResult">Результат итерации</param>
        public IterationChangedEventArgs(int iterationNumber, double iterationResult) : base()
        {
            IterationNumberValue = iterationNumber;
            IterationResultValue = iterationResult;
        }
    }
}
